package com.briup.day12;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * @author 谭梦寻
 * @version 1.1
 * java.util.ArraysList 可以实现对元素的各种操作
 * java.util.Arrays.ArrayList 不可以对元素进行增删操作 Arrays.asList
 * List集合是一种有序(存取顺序一致) 可重复 可以为 null的集合
 *      ArrayList 内部使用数组实现 动态调整大小 读取快 插入慢
 *      LinkedList 插入快 读取慢 使用双向链表实现
 *      Vector 线程安全 效率低
 */
public class Test01 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
//        通过工具类创建对象 不支持元素的增加和删除
//        List<String> list2 = Arrays.asList("a","b","c");
        list.add("a");
        list.add("b");
        list.add("b");
        list.add("c");
        list.add("d");
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).equals("b")) {
                list.remove(i); //a null b c -> a b c  b 将 null覆盖掉了 往前移动了 进而直接判断c
                System.out.println(list.get(i));
            }
        }
//        System.out.println(list);
//        不需要使用下标就可以直接访问 但不能修改元素信息 偶尔正常 通常报错
//        for (String s : list) {
//            if (s.equals("b")) {
//                list.remove("b");
//
//            }
//        }
        System.out.println(list);

//        集合的遍历
    }
}
